<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /**
         * 数据类型转换通常指将其他数据类型转成 字符串 数字 布尔值
         * 数据类型转换有两种: 强制转换(显式转换) 和 自动转换(隐式转换)
         * 
         * 自动转换(隐式转换): 算术运算符
         * 在js中 + 号 通常用于算术运算符或字符串拼接
         * 注意: +号两侧,只要有一个是字符串,那么它就是字符串拼接
         * 
         * JS引擎会根据运算符自动转成适合运算符运算符的数据类型
         * 数字  算术运算符  其它类型的值========其他类型的值转换为number进行运算
         * 
        */
        console.log(1 + 2);//3
        console.log(1 + '2');//'12'
        console.log('1' + '2');//'12'
        console.log('1' + 2);//'12'

        console.log({} + '');//[object Object]
        console.log(String({}) + '');//[object Object]

        console.log(1 + true);// 2 +算术运算符,自动将true转成数字

        console.log(5 - '2');// 3 自动将'2'转成数字
        console.log(5 - 'a');// NaN 自动将'a'转成数字

        console.log(2 * '3');// 6 自动将'3'转成数字
        console.log('6' / 2);// 3 自动将'6'转成数字
        console.log('6' / '2');// 3 自动将'6'和'2'转成数字
        console.log('7' % 3);// 1 自动将'7'转成数字
    </script>
</body>

</html>